1. Field of the Invention
The present invention relates to the field of networks. More specifically, the present invention relates to load balancing.
2. Description of the Related Art
Networked systems often utilize multiple servers (e.g., server farms) to service client requests (e.g., directory requests). A load balance mechanism can be employed in the network systems to balance work load across the multiple servers.
Typically, a load balancer attempts to distribute work over servers to optimize utilization of network resources. In some cases, the load balancer will send a greater amount of work (e.g., more complex requests, a greater number of requests) to servers with greater capabilities, and will send a lower amount of work to servers with lesser capabilities. In some circumstances, servers will have the same capabilities, thus the load balancer sends equal amounts of work to each server.
Despite the potential benefits of load balancing, their increased complexity of decision making can introduce delay into processing requests. Depending on the employed balancing criteria, significant resources, including processing time, may be expended in determining an appropriate destination server for a request. While a substantial level of additional latency may be tolerable in some load balancing applications, other applications, particularly those that include a substantial population of short lived operations, may not tolerate such latencies. Low overhead and/or low-latency decision functions are needed.